基础知识复习(一)——C语言位运算符详解

常用的位运算符:与(&),取反(~),或(|),异或(^),左移(«),右移(»)

1. 与(&)操作符,按位与,全为1 时,结果取1

  11001

&10011

结果:10001

2. 取反(~),为1,则取0,为0则取1,如:

10010 取反 01101

3. 或(|),两个数均为0时取0,其他情况为1

10010

11100

结果:11110

4. 异或(^),如果某位不同则取1,否则为0。

10010

11100

异或:01110

xor运算的逆运算是它本身,也就是说两次异或同一个数最后结果不变,即(a xor b) xor b = a。异或可用来实现两个数交换,且不需要临时变量。

a=aXORb

b=aXORb

a=aXORb

 

5.左移(«),即在数的末尾加N位0,相当于为原数*2的N次方,比直接*2更快

如1100左移三位,则为1100 000

6.右移(»),即去掉末尾的几位数,相当于为原数除以2的N次方。

如110011,右移三位,则为110

 

posted @ 2016-01-07 14:54  苏木星  阅读(976)  评论(0编辑  收藏  举报